﻿using System.Threading.Tasks;

namespace XUCore.WeChat.Enterprise.Net.SuiteServerMessages
{
    /// <summary>
    /// 企业微信代开发模板服务消息、事件处理器
    /// </summary>
    public interface IEnterpriseWeChatSuiteEventHandler
    {
        /// <summary>
        /// 回调代开发应用授权的企业信息
        /// </summary>
        /// <param name="suiteId">第三方应用id或者代开发应用模板id。第三方应用以ww或wx开头应用id（对应于旧的以tj开头的套件id）；代开发应用以dk开头</param>
        /// <param name="info">授权回调返回的授权企业的因袭</param>
        /// <returns></returns>
        Task ExecutePermanentCodeEventHandler(string suiteId, SuiteEnterpriseInfo info);
        /// <summary>
        /// 【模板回调】自定义序列化事件
        /// </summary>
        /// <param name="suiteId">第三方应用id或者代开发应用模板id。第三方应用以ww或wx开头应用id（对应于旧的以tj开头的套件id）；代开发应用以dk开头</param>
        /// <param name="infoType">事件类型</param>
        /// <param name="xml">回调xml内容</param>
        /// <returns></returns>
        Task ExecuteEventHandler(string suiteId, string infoType, string xml);
    }
}